<template>
  <div class="workshop">
    <div>
      <label>{{$t('route.Basic_Management')}}</label>
      <div></div>
      <button><img /><label>{{$t('route.Device_category')}}</label></button>
    </div>

    <div>
      <div>
        <div class="div-handle-right">
          <!-- <el-button>删除</el-button> -->
          <el-button @click="addClick()">{{$t('route.Add')}}</el-button>
        </div>
      </div>

      <el-table class="table" :data="deviceKindList" style="width: 100%">
        <el-table-column prop="kind" :label="$t('route.kind')" width="200" />
        <el-table-column :label="$t('route.Reporting_problems')">
          <template #default="scope">
            {{ formatRepairProblem(scope.row.repairProblem) }}
          </template>
        </el-table-column>
        <el-table-column :label="$t('route.operate')" width="200">
          <template #default="scope">
            <el-button @click="editClick(scope.row)" type="text">{{$t('route.Add')}}</el-button>
            <el-button @click="deleteClick(scope.row.id)" style="color: #ff0000" type="text">{{$t('route.Delete')}}</el-button>
          </template>
        </el-table-column>
      </el-table>
      <div class="pagination">
        <el-pagination style="float: right" background @current-change="handlePageChange" :current-page="query.pageNum"
          :page-size="query.pageSize" layout="total, prev, pager, next" :total="query.total"></el-pagination>
      </div>
    </div>
  </div>
</template>

<script>
import http from "../../js/http/http.js";
import api from "../../js/http/api.js";
import CommonUtils from "../../js/common/common-utils.js";
import { ElMessageBox } from "element-plus";
import i18n from '../../i18n/index';
export default {
  data() {
    return {
      query: {
        pageNum: 1,
        pageSize: 10,
        total: 0,
        search: null,
      },
      deviceKindList: [],
    };
  },
  methods: {
    formatRepairProblem(repairProblem) {
      if (repairProblem) {
        var repairProblem = JSON.parse(repairProblem);
        var result = "";
        for (var item of repairProblem) {
          result += item + '、';
        }
        return result.substring(0, result.length - 1);
      } else {
        return "";
      }

    },
    getKindList() {
      http.post(
        api.GET_KIND_LIST1,
        {
          pageNum: this.query.pageNum,
          pageSize: this.query.pageSize,
          adminId: this.$store.state.user.id,
        },
        (data) => {
          this.deviceKindList = data.data.deviceKindList;
          this.query.total = data.data.total;
        }
      );
    },
    addClick(url) {
      this.$store.commit("setDeviceKind", null);
      this.$router.push('/add-device-kind');
    },
    editClick(item) {
      this.$router.push({
        name: "add-device-kind",
        params: {
          deviceKind: JSON.stringify(item),
        },
      });
    },
    deleteClick(id) {
      this.$confirm(i18n.global.t('route.continue2'), i18n.global.t('route.reminder'), {
        confirmButtonText: i18n.global.t('route.sure'),
        cancelButtonText: i18n.global.t('route.cancel'),
        type: "warning",
      }).then(() => {
        http.post(
          api.DELETE_KIND,
          {
            id: id,
          },
          (data) => {
            this.$message.success(i18n.global.t('route.Delete_succeeded'));
            this.getKindList();
          }
        );
      });
    },
    handlePageChange(pageNum) {
      this.query.pageNum = pageNum;
      this.getKindList();
    },
  },
  created() {
    this.getKindList();
  },
};
</script>
<style lang="scss" scoped>
.workshop {
  color: #444444;
  font-size: 18px;
  padding-right: 20px;
  height: calc(100vh - 100px);
  // overflow: scroll;
  scrollbar-width: none;
  /* firefox */
  -ms-overflow-style: none;
  /* IE 10+ */
  overflow-x: hidden;
  overflow-y: auto;

  >div {
    display: flex;
    flex-direction: row;
    margin-top: 20px;
    background-color: #ffffff;
    padding: 20px;
    border-radius: 5px;
  }

  >div:nth-of-type(1) {
    >label:nth-of-type(1) {
      font-weight: 600;
    }

    >div:nth-of-type(1) {
      width: 1px;
      background-color: #cccccc;
      height: 15px;
      margin: 0px 20px;
    }

    >button:nth-of-type(1) {
      background-image: url(../../assets/img/customer-1.png);
      background-repeat: no-repeat;
      background-size: 100% 100%;
      padding: 5px 10px;
      border: 0px;
      display: flex;
      color: #ffffff;
      flex-direction: row;
      align-items: center;
      font-weight: 800;

      >img {
        margin-right: 7px;
        width: 15px;
        height: 15px;
        content: url(../../assets/img/customer-2.png);
      }
    }
  }

  >div:nth-of-type(2) {
    flex-direction: column;

    >div:nth-of-type(1) {
      display: flex;
      flex-direction: row;
      align-items: center;

      .div-handle-right {
        flex: 1;
        flex-direction: row-reverse;
        text-align: right;
        display: flex;
        align-items: center;

        >input:nth-of-type(1) {
          border: 1px solid #eeeeee;
          font-size: 15px;
          width: 150px;
          padding: 5px 8px;
          outline: none;
        }

        >button {
          color: #a866ff;
          margin-left: 10px;
          padding: 4px 20px;
        }
      }
    }

    .table {
      margin-top: 20px;
    }
  }
}
</style>
